<template>
  <div class="login-page">
    <!-- 顶部栏 -->
    <van-nav-bar title="面经注册" />
    <!-- 表单 -->
    <!-- 一旦form表单提交了，就会触发submit，可以在submit事件中
     根据拿到的表单提交信息，发送axios请求 -->
    <van-form @submit="doSubmit">
      <!-- 输入框组件 -->
      <!-- \w 字母数字_   \d 数字0-9 -->
      <van-field
        v-model="username"
        name="username"
        label="用户名"
        placeholder="请输入用户名"
        :rules="[{ required: true, message: '请输入用户名' },
        {pattern:/^\w{5,15}$/, message: '用户名是5-15位数字和字母和下划线组成'}]"/>
      <van-field
        v-model="password"
        type="password"
        name="password"
        label="密码"
        placeholder="请输入密码"
        :rules="[{ required: true, message: '请输入密码' },
        {pattern:/^\w{5,15}$/, message: '密码是5-15位数字和字母和下划线组成'}]"
      />
      <div style="margin: 16px">
        <van-button round block type="primary" native-type="submit">注册</van-button>
      </div>
    </van-form>
    <!-- 添加 router-link 标签（跳转到注册） -->
    <router-link class="link" to="/login">有账号，去登录</router-link>
  </div>
</template>

<script>
// 导入axios的登录的接口
import { userRegister } from '@/api/user.js'

export default {
  name: 'register-page',
  data () {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    // 点击注册按钮会自动调用这个方法
    async doSubmit (values) {
      // (1)获取表单数据 : 需要设置name属性
      // 给form注册submit事件.表单使用v-model
      console.log('submit', values) // 表单数据
      // (2)非空+正则 校验 : 给field添加rules规则 组件自带配置 手动添加
      // (3)发送ajax
      // 发送登录请求
      const { data } = await userRegister(values)
      console.log(data)
      // (4)提示框
      // this.$toast.success('登录成功')
      // (5)存储token
      // setToken(data.KEY)
      // (6)请求成功: 跳转首页
      this.$router.push('/login')
    }
  }
}
</script>

    <style lang="less" scoped>
.link {
  color: #069;
  font-size: 12px;
  padding-right: 20px;
  float: right;
}
</style>
